<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="Asciidoctor 2.0.15">
<title>N4JS Articles</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<!-- ************* Meta ************* -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />

<!-- ************* OpenGraph ************-->
<meta name="description" content="The Eclipse N4JS language and its IDE enable high-quality JavaScript development for large Node.js projects.">

<meta property="og:site_name" content="Eclipse N4JS"/>
<meta property="og:title" content="Eclipse N4JS Language and IDE"/>
<meta property="og:url" content="https://numberfour.github.io/n4js"/>
<meta property="og:description" content="The Eclipse N4JS language and its IDE enable high-quality JavaScript development for large Node.js projects."/>
<meta property="og:image" content="../images/n4js.png">

<!-- ************* Favicon ************-->
<link rel="icon" href="../images/favicon.ico" />
<link rel="icon" type="image/png" href="../images/favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="../images/favicon-16x16.png" sizes="16x16" />

<!-- ************* Back-to-top JQuery ************* -->
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.0/jquery-ui.js"></script>

<!-- ************* Prism.js Syntax Highlighter ******-->
<link href="../styles/prism.min.css" rel="stylesheet"/>
<script src="../scripts/prism.js"></script>

<!-- ************* Styles ************* -->

<link rel="stylesheet" type="text/css" href="../styles/n4js-adoc.css">

<!-- ****************** NavBar ****************** -->
<div id="menubar">
    <div class="banner">
        <a href="../index.html"><img id="logo" src="../images/n4js-logo.png" alt="N4JS Language and IDE"></a>
    </div>
<ul>
  <li><a href="../downloads.html"></i>Download</a></li>
  <li><a href="../community.html"></i>Community</a></li>
  <li><a href="../userguides/index.html">Documentation</a></li>
</ul>
</div>
<button id="tocbutton">TOC</button>
</head>
<body class="book">
<div id="header">
</div>
<div id="content">
<h1 id="_n4js_articles" class="sect0"><a class="link" href="#_n4js_articles">N4JS Articles</a></h1>
<div class="sect1">
<h2 id="_index"><a class="link" href="#_index">Index</a></h2>
<div class="sectionbody">
<div class="ulist">
<div class="title">A selection of articles covering the features of N4JS, Current Releases, how to report bugs and contribute to the platform.</div>
<ul>
<li>
<p><a href="../features/index.html#n4js-language-and-ide-features">Feature Table</a> - A comprehensive overview of current and planned features of the N4JS IDE.</p>
</li>
<li>
<p><a href="../features/async-await.html#async-await">Async/Await</a> - Learn about the benefits of asynchronous data flows and how they work with N4JS code.</p>
</li>
<li>
<p><a href="../features/dependency-injection.html#dependency-injection-in-n4js">Dependency Injection</a> - Configure dependencies between classes with built-in Dependency Injection support.</p>
</li>
<li>
<p><a href="../features/modules.html#modules">Modules</a> - Modules help keep code well-defined and easy to comprehend. Read about keeping large projects maintainable with Module support within the N4JS IDE.</p>
</li>
<li>
<p><a href="../features/nodejs-support.html#node-js-support">Node.js Support</a> - Seamless integration of N4JS projects with existing node.js-based environments.</p>
</li>
<li>
<p><a href="../features/nominal-and-structural-typing.html#nominal-and-structural-typing">Nominal &amp; Structural Typing</a> - N4JS provides both forms of typing. Read the feature on how they are combined in N4JS.</p>
</li>
<li>
<p><a href="../features/testing.html#testing">Testing</a> - The N4JS IDE and the built-in test execution runtime Mangelhaft were designed from the ground-up to support Test Driven Development. Explore how testing with N4JS will help ensure your projects behave as expected.</p>
</li>
</ul>
</div>
<hr>
<div class="paragraph">
<p><strong>Releases</strong></p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="../releases/index.html#releases">Information on N4JS Releases</a> - This page contains details on the current state of N4JS and how we track issues.</p>
</li>
<li>
<p><a href="../releases/reporting-bugs.html#reporting-bugs">Reporting Bugs</a> - Find out how to report N4JS bugs from within the IDE with Xpect.</p>
</li>
</ul>
</div>
<hr>
<div class="paragraph">
<p><strong>FAQ</strong></p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="../faq/index.html#faq">Frequenctly Asked Questions</a> -Common N4JS topics such as Open-Sourcing, JavaScript, Java and Typescript Comparison.</p>
</li>
<li>
<p><a href="../faq/comparison-java.html#n4js-and-java">N4JS &amp; Java Comparison</a> - A comparison between the features of N4JS and Java.</p>
</li>
<li>
<p><a href="../faq/comparison-typescript.html#n4js-and-typescript">N4JS &amp; Typescript Comparison</a> - A comparison between the features of N4JS and Typescript.</p>
</li>
</ul>
</div>
<hr>
<div class="paragraph">
<p><strong>N4JS Userguides</strong></p>
</div>
<div class="paragraph">
<p>From brief quickstart guides to fully-involved tutorials, the following N4JS documentation will help beginners get started with the N4JS IDE and advanced users to build and maintain large server-side projects.</p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="../userguides/n4js-ide-setup.html#_ide_setup">N4JS IDE Setup Guide</a> - Basic installation and setup instructions.</p>
</li>
<li>
<p><a href="../userguides/npm-export-guide.html#_npm_export_guide">npm Export Guide</a> - Basic npm export and publishing instructions.</p>
</li>
<li>
<p><a href="../userguides/tutorial.html#_tutorial">In-Depth Tutorial</a> - Begin using the more powerful features N4JS has to offer!</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div id="footer">
<div id="footer-text">
</div>
</div>
<div class="Grid social" style="color:#d5dfea">
  <div class="Cell Cell--2-12 m-Cell--withMargin">
    <h2>Quick Links</h2>
    <ul>
      <li><a href="../downloads.html">Download</a></li>
      <li><a href="../userguides/index.html">Documentation</a></li>
      <li><a href="https://github.com/eclipse/n4js/">Source</a></li>
      <li><a href="https://github.com/eclipse/n4js/issues">Issues</a></li>
    </ul>
  </div>
  <div class="Cell Cell--2-12 m-Cell--withMargin">
    <br/><br/>
    <ul>
      <li><a href="https://www.eclipse.org/forums/index.php/f/365/">Forum</a></li>
      <li><a href="http://n4js.blogspot.de/">Blog</a></li>
      <li><a href="https://dev.eclipse.org/mailman/listinfo/n4js-dev">Mailing List</a></li>
      <li><a href="https://projects.eclipse.org/projects/technology.n4js">Eclipse Project Page</a></li>
      <li><a href="https://twitter.com/n4jsdev">Tweets by n4jsdev</a></li>
    </ul>
  </div>
  <div class="Cell Cell--2-12 m-Cell--withMargin">
    <br/><br/>
    <ul>
      <li><a href="http://www.eclipse.org/">Eclipse Home</a></li>
      <li><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li>
      <li><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li>
      <li><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li>
      <li><a href="http://www.eclipse.org/legal/">Legal</a></li>
    </ul>
  </div>
  <div style="clear: both; height: 0; overflow: hidden;"></div>
</div>

<script>
  // Toggle the table of contents
  $( "button#tocbutton" ).click(function() {
    if ($("#tocbutton").css('right') == '25px') {
      $( "#tocbutton" ).animate({right: '215px'},"slow");
      $( "#toc.toc2" ).animate({right: '0'},"slow");
  }
    else {
      $( "#tocbutton" ).animate({right: '25px'},"slow");
      $( "#toc.toc2" ).animate({right: '-13rem'},"slow");
  }
  });
</script>

<script type="text/javascript">
  // Create a back to top button
  $('body').prepend('<a href="#" class="back-to-top">Back to Top</a>');
  var amountScrolled = 500;
  $(window).scroll(function() {
  if ( $(window).scrollTop() > amountScrolled ) {
  	$('a.back-to-top').fadeIn('slow');
  } else {
  	$('a.back-to-top').fadeOut('slow');
  }
  });
  $('a.back-to-top, a.simple-back-to-top').click(function() {
  $('html, body').animate({
  	scrollTop: 0
  }, 700);
  return false;
  });
</script>
</body>
</html>